package com.wlgc.service;

import com.wlgc.entity.ChatMessage;
import com.wlgc.entity.vo.ChatListVO;
import org.springframework.stereotype.Service;

import java.util.List;


public interface ChatService {

    /**
     * 查询聊天双方的关联id
     * @param fromUser
     * @param toUser
     * @return
     */
    String selectAssociation(String fromUser, String toUser);

    /**
     * 是否第一次聊天
     * @param fromUser
     * @param toUser
     * @return
     */
    void isFirstChat(String fromUser, String toUser);

    /**
     * 保存聊天记录
     * @param chatMessage
     * @return
     */
    void saveMessage(ChatMessage chatMessage);

    /**
     * 获取当前用户的聊天列表
     * @param fromUid
     * @return
     */
    List<ChatListVO> getFromUserChatList(Long fromUid);

    /**
     * 获取发送者与接收者的最近的聊天记录
     * @param fromUser
     * @param toUser
     * @param currentIndex
     * @return
     */
//    ResultInfo getRecentChatRecords(String fromUser, String toUser, int currentIndex);

    /**
     * 更新是否在同一窗口值
     * @param fromUser
     * @param toUser
     */
    void updateWindows(String fromUser, String toUser);


    /**
     * 获取当前用户的未读数
     * @param username
     * @return
     */
//    ResultInfo getUnreadTotalNumber(String username);

    /**
     *
     * @param username
     */
    void resetWindows(String username);

}
